package com.tom.architect.party5.day37.simple5;

import android.widget.TextView;

import com.tom.architect.R;
import com.tom.architect.party5.day37.simple5.base.BaseMvpActivity;

/**
 * 实现协议 UserInfoContract.UserInfoView 里面的方法
 */
public class MainActivity37
        extends BaseMvpActivity<UserInfoPresenter>
        implements UserInfoContract.UserInfoView {

    // 多Presenter如何处理？可以用Dagger处理；也可以new 新的对象。
    private TextView mTvTextResult;
//    private UserInfoPresenter mPresenter;
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main3700);
//        mTvTextResult = findViewById(R.id.text_result);
//        mPresenter = new UserInfoPresenter();
//        mPresenter.attach(this); // 绑定
//        mPresenter.getUsers("token"); // 调用Presenter的方法，获取用户数据
//    }
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        mPresenter.detach(); // 解绑
//    }




    @Override
    public void onLoading() {
        // 加载进度条
    }

    @Override
    public void onError() {
        // 显示错误
    }

    @Override
    public void onSucceed(UserInfo userInfo) {
        // 成功 这个时候 Activity 有可能会被关闭掉，有可能会异常崩溃（一般不会）
        // 1. 可以判断界面还在不在(试一试)
        // 2. 采用解绑（通用）
        mTvTextResult.setText(userInfo.toString());
    }

    @Override
    protected UserInfoPresenter createPresenter() {
        return new UserInfoPresenter();
    }

    @Override
    protected void initData() {
        // 获取用户数据 http://ppw.zmzxd.cn/index.php/api/v1/loginuser
        getPresenter().getUsers("ed6b0f7f34dd8cf7b003e40691457175");
    }

    @Override
    protected void initView() {
        mTvTextResult = findViewById(R.id.text_result);
    }

    @Override
    protected void setContentView() {
        setContentView(R.layout.activity_main3700);
    }

}